package cn.edu.scau.cmi.chenyipeng.composite.safe;

import java.util.HashSet;
import java.util.Set;

public class SafeComposite extends SafeComponent{
	private SafeComponent parent;
	private String name;
	private Set<SafeComponent> children = new HashSet<SafeComponent>();
	
	public SafeComposite(String name) {
		this.name = name;
	}
	
	@Override
	public String doSomething() {
		return "我是安全性组合模式中的组合组件";
	}
	
	@Override
	public SafeComponent getParent() {
		return this.parent;
	}
	
	public void setParent(SafeComponent parent) {
		this.parent = parent;
	}
	
	public SafeComponent addChild(SafeComponent child){
		children.add(child);
		return this;
	}
	
	
	
	public SafeComponent removeChild(SafeComponent child){
		children.remove(child);
		return this;
	}
	
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Set<SafeComponent> getChildren() {
		return children;
	}

	public void setChildren(Set<SafeComponent> children) {
		this.children = children;
	}
	
	public String toString() {
		return this.getName();
	}

}
